var permute = function(nums) {
  const res = [],result = []
  // used是用来标记数组的
  function ds(nums,used) {
    if(res.length===nums.length) {
      result.push([...res])
      return
    }
    for(var i=0;i<nums.length;i++) {
      if(used[i]) continue //结束当此循环
      res.push(nums[i])
      used[i] = true //标记一下，说明used[i]的位置已经有人了，切记这里用布尔值标记，只要直到有人占了就好
      ds(nums,used)
      res.pop()
      used[i] = false 
    }
  }
  ds(nums,[])
  return result
};
console.log(permute([1,4,2]));